package com.ftf.tp.blog.application.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 文章详情VO
 *
 * @author tanghao
 * @date 2021/12/10
 */
@Data
public class ArticleInfoVO {

    /**
     * 主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 文章标题
     */
    private String articleTitle;

    /**
     * 文章内容
     */
    private String articleContentHtml;

    /**
     * 作者id
     */
    private Long articleAuthorId;
    /**
     * 作者name
     */
    private String articleAuthorName;

    /**
     * 文章封面
     */
    private String articleCover;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedTime;

    /**
     * 点赞数
     */
    private Long supportAmount;

    /**
     * 收藏数
     */
    private Long collectionAmount;

    /**
     * 评论数
     */
    private Long commentAmount;

    /**
     * 浏览数
     */
    private Long lookAmount;

    /**
     * 热度
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long hotValue;

    /**
     * 标签列表
     */
    private List<TagVO> tagVOList;

    /**
     * 专栏列表
     */
    private List<ColumnVO> columnVOList;

    /**
     * 文章类型 (0:原创，1:转载)
     */
    private Integer articleType;

    /**
     * 文章是否开启评论 (0:可评论，1:不可评论);
     */
    private Integer commentStatus;

}
